查看原文
其他

MySQL 安全认证工具

老李头 运维研习社 2022-11-05

        很多时候,我们需要写脚本来定时备份MySQL数据库,其中需要用到密码的地方,大多数的处理方式,要么做本地免密,要么将密码写入到另外的文件中引入,再或者用交互的方式expect。在MySQL5.6之前是没有任何问题的,在MySQL5.6之后,引入了密码安全机制,导致在文本中或在shell中出现明文密码的时候,MySQL会提示如下错误:

Warning: Using a password on the command line interface can be insecure.

        虽然這个只是个Warning,并不影响shell的正常执行,但是当作一些信息获取,或者判断$? 时,就比较头疼了。

        這里介绍一个工具,mysql自带的mysql_config_editor,它是mysql用户安全认证工具,它将MySQL服务的认证信息加密保存在.mylogin.cnf文件(默认于用户主目录),之后MySQL客户端工具可通过读取该加密文件连接MySQL,避免重复输入登录信息,避免敏感信息暴露。

mysql_config_editor使用帮助:

配置:

mysql_config_editor set --login-path=test --user=test_user  --host=127.0.0.1 --port=3306 --password

其中可配置项

-h,–host=name 添加host到登陆文件中

-G,–login-path=name 在登录文件中为login path添加名字(默认为client)

-p,–password 在登陆文件中添加密码(该密码会被mysql_config_editor自动加密)

-u,–user 添加用户名到登陆文件中

-S,–socket=name 添加sock文件路径到登陆文件中

-P,–port=name 添加登陆端口到登陆文件中

显示配置:

mysql_config_editor print --login-path=test #显示执行的login-path配置

mysql_config_editor print --all             #显示所有的login-path信息

删除配置:

mysql_config_editor remove --login-path=test

其中可删除项

-h,–host=name 添加host到登陆文件中

-G,–login-path=name 在登录文件中为login path添加名字(默认为client)

-p,–password 在登陆文件中添加密码(该密码会被mysql_config_editor自动加密)

-u,–user 添加用户名到登陆文件中

-S,–socket=name 添加sock文件路径到登陆文件中

-P,–port=name 添加登陆端口到登陆文件中

重置配置:

mysql_config_editor reset --login-path=test

使用login-path登录:

shell>mysql --login-path=test

若要登录其他主机、其他端口,或者添加其他额外参数,直接在上述命令后添加即可

shell>mysql --login-path=test  -h host1 -P port1 #登录host1:poet1上的MySQL

shell>mysql --login-path=test  -h host1 -P port1 test_db #登录host1:poet1上的MySQL中的test_db库






往期精彩回顾





【环境配置】如何建立你的HTTPS站点

【开源技术】浅谈Rabbi    tmq

【环境配置】趣玩nginx——限速

【硬件配置】Matrix RAID

【运维开发】运维必备服务器分析shell

【nginx优化】使用socket方式链接Nginx优化php-fpm性能

【开源技术】Redis原理与实践浅析

【网络基础】CIsco设备基础配置

【运维安全】Clam AV——linux杀毒利器

【环境配置】Postfix2.10+ssl+dovecot搭建邮件服务器

【实践分享】Linode VPS和Vultr VPS使用体检对比

【开源技术】Jenkins系列——简介及安装

【开源技术】Jenkins系列——管理及配置

【开源技术】Jenkins系列——项目构建

【开源工具】GoAccess——Web日志分析利器

【开源技术】LVS无损硬盘替换

【运维安全】linux密钥登陆

【linux安全】linux系统之pam模块

【运维安全】SPF——防钓鱼及垃圾邮件技术详解

【开源技术】ELK实时日志分析系统搭建

【开源工具】Sersync实现数据同步



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存